<?php
// +----------------------------------------------------------------------
// | Describe:  微信活动营销模型
// +----------------------------------------------------------------------
// | Author:
// +----------------------------------------------------------------------

	namespace Admin\Model;

	use Think\Model;

	class ArticleModel extends Model {
		/**
		 * @author DDZ
		 * array(
		 *  array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间])
		 * }
		 * 验证条件 （可选）
		 * 0或者 self::EXISTS_VALIDATE  存在字段就验证（默认）
		 * 1或者self::MUST_VALIDATE  必须验证
		 * 2或者self::VALUE_VALIDATE 值不为空的时候验证
		 * 验证规则 （必须）
		 * 系统内置了常用正则验证的规则，可以直接作为验证规则使用，包括：require 字段必须、email 邮箱、url URL地址、currency 货币、number 数字。
		 * 验证时间（可选）
		 * self::MODEL_INSERT或者1新增数据时候验证
		 * self::MODEL_UPDATE或者2编辑数据时候验证
		 * self::MODEL_BOTH或者3全部情况下验证（默认）
		 *
		 */
		protected $_validate = array(
			array( 'title', 'require', '请填写标题', self::MUST_VALIDATE, '', self::MODEL_BOTH ),
			array( 'content', 'require', '请填写内容', self::MUST_VALIDATE, '', self::MODEL_BOTH ),
			array( 'sort', 'number', '请填写正确的数字', self::MUST_VALIDATE, '', self::MODEL_BOTH )

		);

		protected $_auto = array(
			array( 'update_time', 'time', self::MODEL_UPDATE, 'function' ),
			array( 'create_time', 'time', self::MODEL_INSERT, 'function' ),
			array( 'agent_id', 'getAgent', self::MODEL_INSERT, 'function' )
		);

		/**
		 * 轮播列表
		 * @param array $where
		 * @return mixed
		 * @author lzx
		 */
		public function _list($where = array(), $p = 1)
		{
			return $this->where($where)->page($p, 10)->order('sort DESC, create_time DESC')->select();
		}

		/**
		 * 获取总数
		 * @param array $where
		 * @return mixed
		 * @author lzx
		 */
		public function total($where = array())
		{
			return $this->where($where)->count();
		}

		/**
		 * 获取详情
		 * @param $id
		 * @return mixed
		 * @author lzx
		 */
		public function detail($id)
		{
			$where = array(
				'article_id' => $id,
				'agent_id'   => session('agent_id')
			);
			return $this->field(true)->where($where)->find();
		}
	}